package leetcode;

/**
 * description:
 * author:zt
 * date:2022-01-13
 */

import java.util.Arrays;

/**
 * 给你一个整数数组 nums ，其中总是存在 唯一的 一个最大整数 。
 *
 * 请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是，则返回 最大元素的下标 ，否则返回 -1 。
 */
public class leetcode747 {
    //遍历数组 维护获取到数组中的最大值和次大值
    public int dominantIndex(int[] nums) {
        int n = nums.length;
        if (n == 1) return 0;
        int a = -1, b = 0;
        for (int i = 1; i < n; i++) {
            if (nums[i] > nums[b]) {
                a = b; b = i;
            } else if (a == -1 || nums[i] > nums[a]) {
                a = i;
            }
        }
        return nums[b] >= nums[a] * 2 ? b : -1;
    }



    public static void main(String[] args) throws InterruptedException {
//        System.out.println(hello());
        leetcode747 a = new leetcode747();
        new Thread(()->{
            try {
                a.hello2();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }).start();
        new Thread(()->{
            try {
                a.hello();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }).start();
//        Thread.sleep(5000);

    }

    public synchronized String hello() throws InterruptedException {
        System.out.println(Thread.currentThread().getName());
        System.out.println("hhh");
        Thread.sleep(5000);
        return "hello";
    }

    static Integer B = new Integer(1);
    public String hello2() throws InterruptedException {

            synchronized (Integer.class){
                System.out.println("tttttttt");
                Thread.sleep(10000);
        }

        return "hello2";
    }
}
